Proposal by Aenik Shah for Worksheet toolkit

Proposed by Aenik Shah (profile, biography)


How will I do that project

Approach to Worksheet toolkit :

Understanding the basic concepts of a spreadsheet, including:

  • the idea of templates
  • cells, rows and columns
  • cell coordinates
  • entering data into a spreadsheet cell

Setting up labels, including :

  • setting column widths
  • aligning data in cells
  • entering column and row labels
  • Creating and copying formulas

Making changes in a spreadsheet :

  • inserting rows and column
  • deleting rows and columns         

Producing a printed copy of the contents of a spreadsheet file.

Saving a backup copy of your work .

Appreciating the power of spreadsheet templates.

Approach:

One way I see this happening is by the use of Emscripten, we can easily port LibreOffice Calc to javascript.

This would be the easiest way to do it and then, the rest of the time will be spent fixing the bugs & issues it has. And then finally, in the end, Unit Testing, to make sure it works as expected.

Another way would be to code it from scratch, this would take some time, but we'll have full control of what our creation would be. This would be fun.

What methodologies will I use

The algorithm consists of seven principal stages:

     •    Specification and Design of Outputs

     •    Conceptual Design of the Workings Section

     •    Logical Design of the Workings Section

     •    Construction of the Workings Section Structure

     •    Construction of the Input Section Structure

     •    Implementation of Functions and Relationships

     •    Completion of the Output Section

Here, the methodology is applied in the construction of a spreadsheet model comprising a single module. This is a simple model which does not require resolution of graph structures, which potentially result in the creation of separate modules, and recursive relationships.

Framework : Model View Controller, PetitParser and other libraries.

Timeline

Before 17th June

  • To familiarize myself even more with Smalltalk and the Pharo Smalltalk implementation through books called

1)     Pharo By Example

2)    Smalltalk With Style

  • Discuss all my ideas with the mentors and community members.
  • Discuss with my mentor for any changes in the plan, if needed.

Target 1(18th June – 24th July) #5 Weeks

  • Create a GUI for spreadsheet toolkit.
  • Create basic editor to add/delete cells.
  • Understand PetitParser framework.

Target 2(25th July – 2nd August) #1 Week

  • Testing and fixing bugs for Target 1.

Target 3(3th August – 9th September) #5 Weeks

  • Edit Cell Formula which will be depending on PetitParser framework.
  • Implement render engine

Target 4 (10th September – 17th September): #1 Week

  • Testing and fixing bugs for Target 3.

Target 5 (18th September – 25th September): #1 Week

  • Finalizing all documentations and clean up the code.
  • Review the project outcome by community member’s.

Post GSoC : 

  • Add Spreadsheet template
  • Solve the hiccups/problems (if found) in toolkit.
  • Any suggestions from the community that can make this tool even better!

Where I see the risks

According to the approach I gave, the risk is not much, but we always have to be prepared to face anything that comes. So, there might be some cases where Emscripten fails or some thing goes wrong, this need to be handled properly.

Another big issue that I see is the security issue, it's a huge project in itself to have a high level security for our toolkit. I'll try my level best to make it as secure as possible.

How the results will look like

It will be appear same as Excel (office).




Updated: 3.5.2013